namespace Legend
{
    /// <summary>
    /// Represents an object that can generate random numbers.
    /// </summary>
    public interface IRandomNumberGenerator
    {
        /// <summary>
        /// Gets a random integer number.
        /// </summary>
        /// <param name="minValue">The lowest value to generate (inclusive).</param>
        /// <param name="maxValue">The highest possible value to generate (inclusive).</param>
        /// <returns></returns>
        int GetRandomInteger(int minValue, int maxValue);

        /// <summary>
        /// Gets a random floating point number.
        /// </summary>
        /// <returns>A decimal value between zero and one.</returns>
        double GetRandomFloatingPointNumber();
    }
}
